﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Collections;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x020004FF RID: 1279
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class ExchangeStaminaScRsp : IMessage<ExchangeStaminaScRsp>, IMessage, IEquatable<ExchangeStaminaScRsp>, IDeepCloneable<ExchangeStaminaScRsp>, IBufferMessage
	{
		// Token: 0x17001088 RID: 4232
		// (get) Token: 0x060039D8 RID: 14808 RVA: 0x0009ED2F File Offset: 0x0009CF2F
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<ExchangeStaminaScRsp> Parser
		{
			get
			{
				return ExchangeStaminaScRsp._parser;
			}
		}

		// Token: 0x17001089 RID: 4233
		// (get) Token: 0x060039D9 RID: 14809 RVA: 0x0009ED36 File Offset: 0x0009CF36
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return ExchangeStaminaScRspReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x1700108A RID: 4234
		// (get) Token: 0x060039DA RID: 14810 RVA: 0x0009ED48 File Offset: 0x0009CF48
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return ExchangeStaminaScRsp.Descriptor;
			}
		}

		// Token: 0x060039DB RID: 14811 RVA: 0x0009ED4F File Offset: 0x0009CF4F
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public ExchangeStaminaScRsp()
		{
		}

		// Token: 0x060039DC RID: 14812 RVA: 0x0009ED64 File Offset: 0x0009CF64
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public ExchangeStaminaScRsp(ExchangeStaminaScRsp other) : this()
		{
			this.itemCostList_ = other.itemCostList_.Clone();
			this.retcode_ = other.retcode_;
			this.staminaAdd_ = other.staminaAdd_;
			this.lastRecoverTime_ = other.lastRecoverTime_;
			this.exchangeTimes_ = other.exchangeTimes_;
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x060039DD RID: 14813 RVA: 0x0009EDC9 File Offset: 0x0009CFC9
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public ExchangeStaminaScRsp Clone()
		{
			return new ExchangeStaminaScRsp(this);
		}

		// Token: 0x1700108B RID: 4235
		// (get) Token: 0x060039DE RID: 14814 RVA: 0x0009EDD1 File Offset: 0x0009CFD1
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RepeatedField<ItemCost> ItemCostList
		{
			get
			{
				return this.itemCostList_;
			}
		}

		// Token: 0x1700108C RID: 4236
		// (get) Token: 0x060039DF RID: 14815 RVA: 0x0009EDD9 File Offset: 0x0009CFD9
		// (set) Token: 0x060039E0 RID: 14816 RVA: 0x0009EDE1 File Offset: 0x0009CFE1
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint Retcode
		{
			get
			{
				return this.retcode_;
			}
			set
			{
				this.retcode_ = value;
			}
		}

		// Token: 0x1700108D RID: 4237
		// (get) Token: 0x060039E1 RID: 14817 RVA: 0x0009EDEA File Offset: 0x0009CFEA
		// (set) Token: 0x060039E2 RID: 14818 RVA: 0x0009EDF2 File Offset: 0x0009CFF2
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint StaminaAdd
		{
			get
			{
				return this.staminaAdd_;
			}
			set
			{
				this.staminaAdd_ = value;
			}
		}

		// Token: 0x1700108E RID: 4238
		// (get) Token: 0x060039E3 RID: 14819 RVA: 0x0009EDFB File Offset: 0x0009CFFB
		// (set) Token: 0x060039E4 RID: 14820 RVA: 0x0009EE03 File Offset: 0x0009D003
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public long LastRecoverTime
		{
			get
			{
				return this.lastRecoverTime_;
			}
			set
			{
				this.lastRecoverTime_ = value;
			}
		}

		// Token: 0x1700108F RID: 4239
		// (get) Token: 0x060039E5 RID: 14821 RVA: 0x0009EE0C File Offset: 0x0009D00C
		// (set) Token: 0x060039E6 RID: 14822 RVA: 0x0009EE14 File Offset: 0x0009D014
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint ExchangeTimes
		{
			get
			{
				return this.exchangeTimes_;
			}
			set
			{
				this.exchangeTimes_ = value;
			}
		}

		// Token: 0x060039E7 RID: 14823 RVA: 0x0009EE1D File Offset: 0x0009D01D
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as ExchangeStaminaScRsp);
		}

		// Token: 0x060039E8 RID: 14824 RVA: 0x0009EE2C File Offset: 0x0009D02C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(ExchangeStaminaScRsp other)
		{
			return other != null && (other == this || (this.itemCostList_.Equals(other.itemCostList_) && this.Retcode == other.Retcode && this.StaminaAdd == other.StaminaAdd && this.LastRecoverTime == other.LastRecoverTime && this.ExchangeTimes == other.ExchangeTimes && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x060039E9 RID: 14825 RVA: 0x0009EEAC File Offset: 0x0009D0AC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			num ^= this.itemCostList_.GetHashCode();
			if (this.Retcode != 0U)
			{
				num ^= this.Retcode.GetHashCode();
			}
			if (this.StaminaAdd != 0U)
			{
				num ^= this.StaminaAdd.GetHashCode();
			}
			if (this.LastRecoverTime != 0L)
			{
				num ^= this.LastRecoverTime.GetHashCode();
			}
			if (this.ExchangeTimes != 0U)
			{
				num ^= this.ExchangeTimes.GetHashCode();
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x060039EA RID: 14826 RVA: 0x0009EF44 File Offset: 0x0009D144
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x060039EB RID: 14827 RVA: 0x0009EF4C File Offset: 0x0009D14C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x060039EC RID: 14828 RVA: 0x0009EF58 File Offset: 0x0009D158
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.Retcode != 0U)
			{
				output.WriteRawTag(8);
				output.WriteUInt32(this.Retcode);
			}
			if (this.LastRecoverTime != 0L)
			{
				output.WriteRawTag(40);
				output.WriteInt64(this.LastRecoverTime);
			}
			this.itemCostList_.WriteTo(ref output, ExchangeStaminaScRsp._repeated_itemCostList_codec);
			if (this.ExchangeTimes != 0U)
			{
				output.WriteRawTag(96);
				output.WriteUInt32(this.ExchangeTimes);
			}
			if (this.StaminaAdd != 0U)
			{
				output.WriteRawTag(120);
				output.WriteUInt32(this.StaminaAdd);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x060039ED RID: 14829 RVA: 0x0009EFFC File Offset: 0x0009D1FC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			num += this.itemCostList_.CalculateSize(ExchangeStaminaScRsp._repeated_itemCostList_codec);
			if (this.Retcode != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.Retcode);
			}
			if (this.StaminaAdd != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.StaminaAdd);
			}
			if (this.LastRecoverTime != 0L)
			{
				num += 1 + CodedOutputStream.ComputeInt64Size(this.LastRecoverTime);
			}
			if (this.ExchangeTimes != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.ExchangeTimes);
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x060039EE RID: 14830 RVA: 0x0009F098 File Offset: 0x0009D298
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(ExchangeStaminaScRsp other)
		{
			if (other == null)
			{
				return;
			}
			this.itemCostList_.Add(other.itemCostList_);
			if (other.Retcode != 0U)
			{
				this.Retcode = other.Retcode;
			}
			if (other.StaminaAdd != 0U)
			{
				this.StaminaAdd = other.StaminaAdd;
			}
			if (other.LastRecoverTime != 0L)
			{
				this.LastRecoverTime = other.LastRecoverTime;
			}
			if (other.ExchangeTimes != 0U)
			{
				this.ExchangeTimes = other.ExchangeTimes;
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x060039EF RID: 14831 RVA: 0x0009F121 File Offset: 0x0009D321
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x060039F0 RID: 14832 RVA: 0x0009F12C File Offset: 0x0009D32C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num <= 40U)
				{
					if (num == 8U)
					{
						this.Retcode = input.ReadUInt32();
						continue;
					}
					if (num == 40U)
					{
						this.LastRecoverTime = input.ReadInt64();
						continue;
					}
				}
				else
				{
					if (num == 90U)
					{
						this.itemCostList_.AddEntriesFrom(ref input, ExchangeStaminaScRsp._repeated_itemCostList_codec);
						continue;
					}
					if (num == 96U)
					{
						this.ExchangeTimes = input.ReadUInt32();
						continue;
					}
					if (num == 120U)
					{
						this.StaminaAdd = input.ReadUInt32();
						continue;
					}
				}
				this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
			}
		}

		// Token: 0x040016A9 RID: 5801
		private static readonly MessageParser<ExchangeStaminaScRsp> _parser = new MessageParser<ExchangeStaminaScRsp>(() => new ExchangeStaminaScRsp());

		// Token: 0x040016AA RID: 5802
		private UnknownFieldSet _unknownFields;

		// Token: 0x040016AB RID: 5803
		public const int ItemCostListFieldNumber = 11;

		// Token: 0x040016AC RID: 5804
		private static readonly FieldCodec<ItemCost> _repeated_itemCostList_codec = FieldCodec.ForMessage<ItemCost>(90U, ItemCost.Parser);

		// Token: 0x040016AD RID: 5805
		private readonly RepeatedField<ItemCost> itemCostList_ = new RepeatedField<ItemCost>();

		// Token: 0x040016AE RID: 5806
		public const int RetcodeFieldNumber = 1;

		// Token: 0x040016AF RID: 5807
		private uint retcode_;

		// Token: 0x040016B0 RID: 5808
		public const int StaminaAddFieldNumber = 15;

		// Token: 0x040016B1 RID: 5809
		private uint staminaAdd_;

		// Token: 0x040016B2 RID: 5810
		public const int LastRecoverTimeFieldNumber = 5;

		// Token: 0x040016B3 RID: 5811
		private long lastRecoverTime_;

		// Token: 0x040016B4 RID: 5812
		public const int ExchangeTimesFieldNumber = 12;

		// Token: 0x040016B5 RID: 5813
		private uint exchangeTimes_;
	}
}
